﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;

using PGE.AfastamentosTempMVC.Modelo;

namespace PGE.AfastamentosTempMVC.Repositorio.Interfaces
{
    public interface INucleoRepositorio
    {
        void Adicionar(Nucleo nucleo);
        void Editar(Nucleo nucleo);
        void Deletar(Nucleo nucleo);
        void DeletarMuitos(Func<Nucleo, bool> where);
        Nucleo ObterPorID(int Id);
        Nucleo ObterPornome(Func<Nucleo, bool> where);
        Nucleo ObterPrimeiro();
        Nucleo ObterPrimeiro(Func<Nucleo, bool> where);
        IEnumerable<Nucleo> ListarTudo();
        IQueryable<Nucleo> GetQueryable();
        IEnumerable<Nucleo> ListarMuitos(Func<Nucleo, bool> where);
    }
}
